package cn.hncu.booksManagementSystem.user.dao.dao;

import java.util.Collection;

import cn.hncu.booksManagementSystem.user.vo.UserModel;
import cn.hncu.booksManagementSystem.user.vo.UserQueryModel;

public interface UserDAO {
	/**
	 * 添加一个 UserModel 对象
	 * @param user 被添加的对象
	 * @return true：添加成功，false：添加失败
	 */
	public boolean add(UserModel user);
	/**
	 * 删除一个 UserModel 对象
	 * @param user 被删除的对象
	 * @return true：删除成功，false：删除失败
	 */
	public boolean delete(UserModel user);
	
	/**
	 * 修改一个 UserModel 对象
	 * @param user 被修改的对象
	 * @return true：修改成功，false：修改失败
	 */
	public boolean update(UserModel user);
	/**
	 * 通过用户id查询
	 * @param id 被查询对象的编号id
	 * @return 返回UserModel的实例对象表示查找到，返回null表示没有查找到相应id的用户
	 */
	public UserModel getUserModelById(String id);
	/**
	 * 查询所有用户
	 * @return 所有用户的集合
	 */
	public Collection<UserModel> getAll();
	/**
	 * 通过查询值对象，查询符合条件的用户信息
	 * @param uqm 查询值对象
	 * @return 符合条件的用户信息的集合
	 */
	public Collection<UserModel> getUsersByCondition(UserQueryModel uqm);
}
